package baduga.karo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;


/**
 * 
 * @author Janek
 *
 */
class TimerThread implements ActionListener {  

	
	private JLabel oknoCzasu;
	
	/**
	 * Czas
	 */
	private static int timeSeconds = 60;
	
	/**
	 * Konstuktor injektujący czas.
	 */
	TimerThread(int timeInSeconds, JLabel oknoCzasu)
	{
		TimerThread.timeSeconds = timeInSeconds;
		this.oknoCzasu = oknoCzasu;
	}
	
	/**
	 * Konstuktor domyślny.
	 */
	TimerThread() {};
	

	
	
	/**
	 * Funkcja konwertuje sekundy na formę MM:SS
	 * 
	 * @param time
	 * @return
	 */
	private synchronized static String splitSeconds(int time)
	{
		
		int mins,
			secs;
		
		String sTime;
		
		/** wyliczanie czasu */
		mins = time/60;
		secs = time % 60;

		
		
		
		return timeFormater(mins) + ":" + timeFormater(secs);
	}
	
	
	/**
	 * Funkcja Formatuje wyświetlanie czasu np. 10 -> 10, 5  -> 05
	 * 
	 * @param obj
	 * @return
	 */
	private synchronized static String timeFormater(final int obj)
	{
		final String tmp = Integer.toString(obj);
		
		return (obj > 10 ? tmp : "0" + tmp );
	}
	

	

	/**
	 * Funkcja sterująca
	 */
	@Override
	public void actionPerformed(ActionEvent acEv) {
		// TODO Auto-generated method stub
		
		if(timeSeconds > -1)
		{
			oknoCzasu.setText("00:" + TimerThread.splitSeconds(TimerThread.timeSeconds));
			
			timeSeconds -= 1;
		}
		else
		{
			final Timer tmp = (Timer)acEv.getSource();
			
			tmp.stop();
		}


		
	}
	
	
	/**
	 * 
	 * @param args
	 */

}  